Automatic method for estimating the capacitance of a cell of a battery

ABSTRACT

Estimating cell capacitance includes learning a function that returns capacitance as a function of an earlier capacitance and a physical characteristic that is correlated with changes in that capacitance and using a supervised learning algorithm on a learning database that has values of the capacitance, values of that physical characteristic measured concurrently with the capacitance and a preceding value of the capacitance.

The invention concerns an automatic method for estimation of the capacitance of a cell of a battery and an automatic method for estimation of the state of charge of that cell. The invention also concerns a data recording medium and a battery management system to carry out these methods. The invention also concerns an automobile containing this battery management system.

Known methods for estimation of the capacitance of a cell of a battery involve:

-   a) the acquisition, at a time k, of a measured charging or     discharging current intensity i_(k) of the cell, -   b) the estimation of the capacitance C_(n,k3) of the cell at a time     k3 by using a Kalman filter, this estimation involving:     -   the calculating of a prediction of the capacitance C_(n,k3) with         the help of a model of state which relates the capacitance         C_(n,k3) to the capacitance C_(n,k3−1) of this same cell at a         previous time k3−1, then     -   the acquisition, at time k3, of a measurable physical quantity         z_(k3) defined by the following relation:

$z_{k\; 3} = {\sum\limits_{m = {k - N}}^{m = {k - 1}}\; i_{m}}$

-   -    where k is the closest time to the time k3 and N is an integer         greater than or equal to one, z_(k3) being equal to i_(k−1) when         N is equal to one,     -   the calculating of a prediction {circumflex over (z)}_(k3) of         the measurable physical quantity z_(k3) with the help of a model         of observation, and     -   the correction of the prediction of the capacitance C_(n,k3) as         a function of the difference between the acquired physical         quantity z_(k3) and the prediction {circumflex over (z)}_(k3)         calculated from the model of observation.

Such a method is described in particular in chapter 4.2.2 of part 3 of the following article: L. Plett, et al.: “Extended Kalman filtering for battery management systems of LiPB-based HEV battery packs”, journal of Power Sources, 2004, page 252-292. Hereinafter, this article shall be denoted as the abbreviation “Plett 2004”.

Also known in the prior art are US2006/111854A1 and US2014/058595A1.

In Plett 2004, the model of state used to estimate the capacitance is C_(n,k3−1)=C_(n,k3)+w_(k3), where w_(k3) is a centered Gaussian white noise.

The method described in Plett 2004 works properly. However, it is desirable to further improve the precision of the estimation of the capacitance of the cell of the battery.

The invention intends to meet this desire by proposing an automatic method of estimation of the capacitance of a cell as claimed in claim 1.

The fact of learning the law G_(SVM) from a learning database makes it possible to obtain a more precise model of state for estimating the capacitance. The capacitance estimated with this learned model of state is thus more precise.

The embodiments of this automatic method of estimation of capacitance may involve one or more of the characteristics of the dependent claims.

These embodiments of the automatic method of estimation of capacitance furthermore provide the following advantages:

-   -   Specifying the learning of a function in the form         G_(SVM)(C_(n,k3), cc_(1,k3))=C_(n,k3)+f_(svm)(cc_(1,k3)) makes         it possible to obtain a linear model of state. This increases         the precision of the estimation of the capacitance since, in         this case, no error is introduced by the linearization of the         model of state about the capacitance C_(n,k3).     -   Triggering the execution of the supervised learning algorithm on         a database containing the capacitances previously estimated by         the Kalman filter makes it possible to update the model of state         and thus automatically adapt this model to the changes which         have occurred in the cell.     -   Triggering a new execution of the supervised learning algorithm         in response to the crossing of a threshold predetermined by the         covariance of the error in the estimation of the capacitance         makes it possible to limit the computing power required to         execute this method while maintaining an almost unchanged         precision for the estimation of the capacitance. In fact, in         this case, the supervised learning algorithm is executed only         when such is necessary.     -   In the method claimed, the model of observation for calculating         the prediction {circumflex over (z)}_(k3) is a linear function         of the capacitance C_(n,k3). Consequently, the calculation of         the prediction {circumflex over (z)}_(k3) is not burdened with         errors related to the linearization of the model of observation         about the value C_(n,k3). On the other hand, the model of         observation described in chapter 4.2.2 of Plett 2004 is         nonlinear and thus must necessarily be linearized about the         capacitance C_(n,k3). Such a linearization necessarily results         in errors of estimation for the corrected capacitance C_(n,k3).         Moreover, this operation of linearization of the model of         observation uses up computing power.

The invention likewise involves a method of estimation of the state of charge of a cell of a battery as claimed in claim 8.

The embodiments of this automatic method of estimation of the state of charge may involve one or more of the characteristics of the dependent claims.

These embodiments of the automatic method of estimation of the state of charge furthermore present the following advantages:

-   -   The estimation of the coefficients of an infinite impulse         response filter and the use of this filter in the model of state         used to estimate the capacitance makes possible improved         precision of the estimation of the state of charge of the cell.

The invention also concerns a data recording medium containing instructions to execute any one of the above automatic methods of estimation when these instructions are executed by an electronic computer.

The invention also concerns a battery management system outfitted with at least one cell, this system comprising an electronic computer programmed to carry out the claimed method.

Finally, the invention also concerns an automobile containing the claimed system of battery management.

The invention will be better understood upon perusal of the following description, given solely as a nonlimiting example and making reference to the drawings, in which:

FIG. 1 is a partial schematic illustration of an automobile outfitted with an electrical battery,

FIG. 2 is a schematic illustration of an electrical model of a cell of the battery of the vehicle of FIG. 1;

FIG. 3 is a schematic illustration of an arrangement of estimators used to estimate the state of charge of a cell of the battery of the vehicle of FIG. 1,

FIGS. 4 to 7 represent equations of the different models of state and observation used by the estimators of FIG. 3;

FIG. 8 is a flow chart of a method for estimation of the state of charge of a cell with the aid of the estimators of FIG. 3;

FIGS. 9 and 10 represent, respectively, a model of state and a model of observation used in the method of FIG. 8.

In these figures, the same references are used to denote the same elements. In the remainder of this description, characteristics and functions well known to the person skilled in the art are not described in detail.

In this description, by “computing power” is meant the number of operations to be performed by an electronic computer. Thus, decreasing the computing power means decreasing the number of operations to be performed in order to achieve the same result or a result of the same kind.

FIG. 1 shows an automobile 2 with electrical traction, better known as an “electric vehicle”. Electric vehicles are well known and only the structural elements needed to understand the rest of this description are presented. The vehicle 2 comprises:

-   -   an electric motor 4, able to drive powered wheels 6 in rotation         to make the vehicle 2 move along a roadway 8, and     -   a battery 10 which provides electrical energy to the motor 4.

The battery 10 comprises two terminals 12, 14 for electrical connection and several electric cells electrically connected between these terminals 12 and 14. The terminals 12 and 14 are connected to the electrical loads to be energized. Here, they are thus connected in particular to the electric motor 4.

In order to simplify FIG. 1, only four electric cells 18 to 21 are shown. Typically, these electric cells are grouped into several stages and these stages are connected in series between the terminals 12 and 14. Here, only two stages are represented. The first stage comprises the cells 18 and 19, and the second stage comprises the cells 20 and 21. Each stage comprises several branches connected in parallel. Each branch of a stage comprises one electric cell or several electric cells in series. Here, the first stage comprises two branches, and each branch comprises a single electric cell. The second stage is structurally identical to the first stage in the example shown in FIG. 1.

Here, all the cells of the battery 10 are structurally identical except for the manufacturing tolerances. Consequently, only the cell 18 shall now be described in further detail.

The cell 18 comprises two electrical connection terminals 30, 32 which connect it electrically to the other cells and to the terminals 12 and 14 of the battery 10. The cell 18 is also fixed mechanically, with no degree of freedom, to the other cells of the battery 10 in order to form what is often called a “pack” of cells. The cell 18 is able to store electrical energy when not being used. This stored electrical energy is then used to power the motor 4, which discharges the cell 18. Alternatively, the cell 18 can also receive electrical energy, which charges it. The complete discharging of a cell followed by its complete recharging constitutes what is known as a charging/discharging cycle, or simply called hereinafter the “cycle of a cell”.

The cell 18 is a cell of known type, for example, it is an LiPB (Lithium-ion Polymer Battery) or other cell.

The cell 18 is characterized by an initial nominal capacitance C_(n) ^(ini), an initial internal resistance RO^(ini), a current flow intensity I_(max), a maximum voltage U_(max), a minimum voltage U_(min) and a function OCV(SOC_(k)). The capacitance C_(n) ^(ini) is the initial capacitance of the cell 18. The capacitance of a cell represents the maximum quantity of electrical energy that can be stored in that cell. This capacitance is expressed in Ah. As the cell 18 ages, that is, as the number of charging and discharging cycles increases, the capacitance of the cell decreases. At time k, the nominal capacitance of the cell 18 shall be denoted as C_(n,k) in the following.

The initial internal resistance RO^(ini) is the value of the internal resistance of the cell 18 before it begins to age. The internal resistance of a cell is a physical quantity which is found in the majority of electrical models of an electric cell. When the cell ages, typically the internal resistance increases. At time k, the internal resistance of the cell 18 is denoted RO_(k).

I_(max) is the maximum current intensity which can be delivered by the cell 18 without it becoming damaged.

U_(max) is the maximum voltage which may be present constantly between the terminals 30 and 32 of the cell without damaging it.

The voltage U_(min) is the minimum voltage between the terminals 30 and 32 when the cell 18 is completely discharged.

OCV(SOC_(k)) is a predetermined function which returns the no-load voltage of the cell 18 as a function of its state of charge SOC_(k). The no-load voltage is the voltage measurable between the terminals 30 and 32 after the cell 18 has been electrically insulated from any electric load for two hours.

The state of charge at time k of the cell 18 is denoted SOC_(k). The state of charge represents the filling rate of the cell 18. It is equal to 100% when the quantity of electrical energy stored in the cell 18 is equal to its capacitance C_(n,k). It is equal to 0% when the quantity of electrical energy stored in the cell 18 is zero, that is, no electrical energy can be extracted from the cell 18 to energize an electric load.

The parameters C_(n) ^(ini), RO^(ini), I_(max), U_(max), U_(min) and the function OCV(SOC_(k)) are known parameters of the cell. For example, they are given by the maker of the cell or are determined experimentally from measurements performed on this cell.

The battery 10 likewise comprises for each cell:

-   -   a voltmeter which measures the voltage between the terminals of         this cell, and     -   an ammeter which measures the charging and discharging current         intensity of this cell.

To simplify FIG. 1, only one voltmeter 34 and one ammeter 36 of the cell 18 have been shown.

Unlike the different parameters of the cell 18 introduced above, the state of charge SOC_(k) of the cell 18 is not measurable. Thus, it must be estimated. For this purpose, the vehicle 2 comprises a system 40 for management of the battery 10, or better known as the acronym BMS (Battery Management System). This system 40 has the function in particular of determining the state of charge and the state of health of this battery 10. In order to determine this state of charge and this state of health, the system 40 is capable of estimating the state of charge and the state of health of each cell of the battery 10. The state of health of a cell represents the state of advancement of the aging of this cell. Here, the state of health of a cell, at time k, is denoted SOH_(k). In the following, it is measured by the ratio C_(n,k)/C_(n) ^(ini). To calculate the state of health of a cell, the system 40 is thus also capable of estimating the capacitance C_(n,k) of this cell at the present time k.

To perform these various estimations, the system 40 is electrically connected to each voltmeter and each ammeter of the battery 10 in order to acquire the measurements of voltage and current intensity between the terminals of each cell.

Here, the system 40 comprises a memory 42 and a programmable electronic computer 44, able to execute instructions recorded in the memory 42. For this purpose, the memory 42 contains the necessary instructions for the execution of the method of FIG. 8. This memory 42 also contains the initial values of the different parameters needed to execute this method. The structure of the system 40 is thus identical or similar to those of the known systems for management of a battery and is not described in further detail.

FIG. 2 represents an electrical model 50 of the cell 18. This model comprises, connected in succession in series starting from the terminal 32 and ending at the terminal 30:

-   -   a generator 52 of no-load voltage OCV(SOC_(k)), and     -   an impedance 54.

The impedance 54 comprises a resistance 56 and N_(c) parallel RC circuits 54 _(L) connected in series, where the index L is an index between 1 and N_(c), which identifies the RC circuit from the other RC circuits of the model 50. The resistance 56 corresponds to the internal resistance of the cell 18. Each circuit 54 _(L) comprises a capacitor of capacitance C_(DL) connected in parallel with a resistor of value R_(DL). The resistance 56 and the two parameters C_(DL) and R_(DL) of each RC circuit are unknown and thus need to be determined. The voltage at the terminals of the impedance 54 at time k is denoted as V_(D,k) in the following. The value of the voltage between the terminals 30 and 32 of the cell 18 at time k is denoted as y_(k) and the charging or discharging current intensity of the cell 18 at the same time is denoted as i_(k).

FIG. 3 represents a first embodiment of an arrangement of estimators implemented in the system 40 to estimate the capacitance of the cell 18 and its state of charge. Each estimator is implemented in the form of an estimation algorithm executed by the computer 44. Thus, we shall speak hereinafter of “the execution of an estimator” and “the execution of an estimation algorithm”. In this first embodiment, the system 40 comprises an estimator 60 of the state of charge SOC_(k) from the measured value y_(k) of the voltage and the measured intensity i_(k). The estimator 60 is implemented here in the form of a Kalman filter. It thus uses a model of state 62 (FIG. 4) and a model of observation 64 (FIG. 5). In these FIGS. 4 and 5, the equations of these models are represented by using the previously defined notations. The notations h_(t,k2) and C_(n,k3) represent, respectively, a filter and the capacitance of the cell 18, respectively, at times k2 and k3. Typically, the times k2 and k3 each belong to a subset of the set of times k. In the models 62 and 64, the times k2 and k3 are the times of these subsets which are the closest to the time k. In the model 62, SOC_(k) is the variable of state.

In the following, we shall assume that the origin of the times corresponds to the zero value of time k. In these conditions, the present time k is equal to kT_(e), where T_(e) is the sampling period for the measurements of the ammeters and voltmeters of the battery 10. Thus, T_(e) is the period of time separating any two consecutive times k and k−1 of acquisition of the voltage and the current intensity by the system 40. The period T_(e) is typically a constant between 0.1 s and 10 s. Here, the period T_(e) is equal to 1 s plus or minus 20%. For example, T_(e) is equal to one second.

In the model 62, w_(k) is a state noise. Here, the noise w_(k) is a centered Gaussian white noise. This noise represents the uncertainty in the model used. The covariance matrix, at time k, of the noise w_(k) is denoted as Q_(k). It is defined by the following relation: Q_(k)=E(w_(k)*w_(k) ^(T)), where E( . . . ) is the mathematical expectation function. The model 62 is likewise written in the form X_(k+1)=F_(k)X_(k)+B_(k)i_(k)+w_(k), where:

-   -   F_(k) is the state transition matrix at time k,     -   B_(k) is the control vector at time k.

The model 62 in particular allows us to predict the state of charge SOC_(k+1) at time k+1 from the preceding state of charge SOC_(k).

The model 64 allows us to predict the value y_(k) of the voltage at time k from the state of charge SOC_(k) and a vector X_(k). In the model 64, X_(k) is the following vector [i_(k), i_(k−1), . . . , i_(k−Nh), V_(D,k−1), V_(D,k−2), . . . , V_(D,k−Mh)]^(T)In this description, the symbol “T” denotes the mathematical transposition operation. The multiplication operation is represented by the operator “.” or “*”. Nh and Mh are predetermined positive integers. Here, Nh and Mh are each greater than or equal to two. Preferably, Nh and Mh belong to the set [3; 10]. Here, Nh and Mh are both equal to four.

The product h_(t,k2)*X_(k) returns a prediction Vp_(D,k) of the voltage V_(D,k) at the terminals of the impedance 54. In this embodiment, the impedance 54 is simulated by a filter h_(t,k2) with an infinite impulse response. The filter h_(t,k2) is defined by the following relation:

$V_{p_{D,k}} = {{h_{t,{k\; 2}}*X_{k}} = {{\sum\limits_{i = 0}^{i = {Nh}}\; {b_{i,{k\; 2}}*i_{k - i}}} - {\sum\limits_{i = 1}^{i = {Mh}}\; {\alpha_{i,{k\; 2}}*V_{D,{k - i}}}}}}$

where b_(i,k2) and a_(i,k2) are the coefficients of the filter h_(t,k2) updated at the time k2 which is the closest to the time k.

In the model 64, v_(k) is a centered Gaussian white measurement noise. The covariance matrix of the noise v_(k) at time k is denoted as R_(k) in the following. In the particular case described here, this matrix R_(k) is a matrix of a single column and a single row. It is defined by the relation R_(k)=E(v_(k)*v_(k) ^(T)). This noise v_(k) is independent of the noise w_(k) and of the initial state of charge SOC₀.

It will be noted that the model 64 is nonlinear, since the function OCV(SOC_(k)) is generally nonlinear. Because of this, the estimator 60 implements the sigma point version of the Kalman filter, better known by the acronym (SPK). The implementation of a sigma point Kalman filter is described in detail in the following articles:

-   -   Julier J. Simon et al: “A New Extension of the Kalman Filter to         Nonlinear Systems”, Proc. SPIE 3068, Signal Processing, Sensor         Fusion, and Target Recognition VI, 182 (28 Jul. 1997), and     -   Gregory L. Plett: “Sigma-point Kalman filtering for battery         management systems of LiPB-based HEV battery packs”, Journal of         Power Sources 161 (2006) 1356-1368.

The above articles do not describe the implementation of a sigma point Kalman filter using exactly the same models of state and of observation as the models 62, 64. Even so, starting from the information given here and the teaching of these articles, the person skilled in the art is able to program, with no undue difficulty, a sigma point Kalman filter which uses the models 62 and 64.

The estimator 60 needs to know the capacitance C_(n,k3) and the coefficients of the filter h_(t,k2) in order to be able to estimate the state of charge SOC_(k+1). The capacitance and the coefficients of the filter h_(t,k2) of the cell 18 vary as the cell 18 ages. In order to take this aging into account, the capacitance and the coefficients of the filter h_(t,k2) of the cell 18 are estimated, respectively, at times k3 and k2. Here, an estimator 66 estimates the coefficients of the filter h_(t,k2) in particular from the measured value y_(k2), from the measured intensity i_(k2) and from the state of charge SOC_(k2). Another estimator 68 estimates the capacitance C_(n,k3) from the intensity i_(k3) and the state of charge SOC_(k3).

The coefficients of the filter h_(t,k2) and the capacitance of the cell 18 vary more slowly than its state of charge. Thus, in order to limit the computing power needed to estimate the state of charge of the cell without thereby degrading the precision of this estimation, the estimators 66 and 68 are executed less frequently than the estimator 60. Here, the times of execution of the estimators 66 and 68 are denoted, respectively, as k2 and k3 in order to distinguish them from the times k. The set of times k2 and the set of times k3 are subsets of the set of times k. Consequently, between two successive times k2 and k2−1 and between two successive times k3 and k3−1, there elapse several periods T_(e) and several times k.

The estimator 66 implements a recursive least square algorithm, better known by the acronym RLS. The RLS algorithm is well known and only its functional principle is mentioned in the method of FIG. 8.

The estimator 68 is implemented in the form of a Kalman filter. It uses a model of state 74 (FIG. 6) and a model of observation 76 (FIG. 7). In the models 74 and 76, the noises w_(3,k3) and v_(3,k3) are centered Gaussian white noise. The covariances of the noise w_(3,k3) and v_(3,k3) are denoted respectively as Q_(3,k3) and R_(3,k3) in the following.

In the model 74, the function G_(SVM) is a function which returns the capacitance C_(n,k3) from the capacitance C_(n,k3−1) and from a set Ec of physical characteristics cc_(j,k3) measured or estimated at time k3 on the cell 18 or on the vehicle 2. The characteristics of the set Ec have in common that they have an influence on the changes in the capacitance of the cell over the course of time. Thus, they are correlated with the change over time in the capacitance of the cell 18. The set Ec comprises at least one physical characteristic cc_(1,k3), and, preferably, one or more supplemental physical characteristics cc_(j+1,k3), where the index j is a constant integer greater than or equal to one, and for example less than five or three. Typically, at least one of the characteristics of the set Ec is chosen from the group composed of the current intensity i_(k3) and the value y_(k3). Preferably, the characteristic cc_(1,k3) is the current intensity i_(k3). In fact, the charging or discharging current intensity of the cell 18 is known as being a characteristic which is correlated to the variation in the capacitance over the course of time. It is also preferable for the second characteristic cc_(2,k3) to be the measured value y_(k3). In fact, as for the current intensity, it is known that the voltage between the terminals 30, 32 is a characteristic which is correlated with the variation in the capacitance of the cell. Next, one of the supplemental characteristics is the temperature T_(k3) of the cell 18 as measured at time k3 if such is available or the depth of discharge DoD_(k3) of the cell 18. The depth DoD_(k3) is known under the acronym DoD. Here, it is obtained with the help of the following relation: DoD_(k3)=1−SOC_(k3). Finally, any other characteristic which is correlated with the variation in the capacitance of the cell may be incorporated in the set Ec. One example of another such characteristic is the acceleration of the vehicle 2 or its speed. In this embodiment, the set Ec contains only two characteristics cc_(1,k3) and cc_(2,k3), being equal, respectively, to the intensity i_(k3) and the measured value y_(k3).

Preferably, the function G_(SVM) is defined by the following relation: G_(SVM)(C_(n,k3−1); Ec)=C_(n,k3−1)+f_(svm)(Ec), where f_(svm)(Ec) is a learned function which returns the difference between the capacitances C_(n,k3) and C_(n,k3−1) as a function of the physical characteristics of the set Ec. Written in this form, the model 74 is a linear function of the capacitance C_(n,k3). The model 76 is thus a linear model. Thus, it is not necessary to make use of an implementation of the Kalman filter that linearizes these models about the capacitance C_(n,k3). Hence, the precision of the estimation of the capacitance of the cell 18 is increased with these models 74, 76 since one avoids the errors of approximation which would inevitably be introduced by a linearization of these models. Here, a simple Kalman filter is used to implement the estimator 68, instead of an extended Kalman filter.

The model 76 of observation lets us estimate a directly measurable physical quantity z_(k3). The physical quantity z_(k3) here is the sum of the last N measured intensities i_(k). It is defined by the following relation:

$z_{k\; 3} = {\sum\limits_{m = {k - N}}^{m = {k - 1}}\; i_{m}}$

In the above relation and in the model 76, the time k is equal to the time k3. This physical quantity z_(k3) takes into account not only the intensity i_(k−1) measured at time k−1 preceding time k3 but also the previous N intensities measured between the times k3 and k3−1. Here, N is an integer absolutely greater than one, which is counted as shall be described further below. The fact of taking into account intermediate measurements between the times k3 and k3−1 makes it possible to increase the precision of the estimation of the capacitance C_(n,k3).

In this embodiment, the function f_(SVM) of the model 74 is initially learned from an experimental database, then relearned in the course of the use of the system 40 in the vehicle 2. For this purpose, the system 40 thus also implements a supervised learning machine 70 and it contains a database 71 (FIG. 1) which contains the data necessary for the learning. The machine 70 operates, alternately or at the same time, in two different modes, known respectively as “learning mode” and “utilization mode”. In the learning mode, the machine 70 builds a database containing, for a very large number of times k3, the capacitance C_(n,k3) and the characteristics of the set Ec as measured or estimated at the same time. In this embodiment, for this purpose, it receives the intensity i_(k3), the measured value y_(k3) and the capacitance C_(n,k3) estimated by the estimator 68. The number of times k3 taken into consideration to build the database is, for example, greater than 50 or 100. Still in the learning mode, once the database 71 contains enough data, the machine 70 executes a supervised learning algorithm to learn the function f_(SVM)(Ec). This learning is executed at times k4 which are, typically, less frequent than the times k3. For example, the number of times k4 is at least 5 or 10 or 100 times less than the number of times k3. Here, the supervised learning algorithm is a support vector machine (SVM). Support vector machines are well known. Thus, the machine 70 is not described in detail here. We merely point out that such a machine automatically constructs hyperplanes which make it possible to separate the physical characteristics of the set Ec into different classes, each class being associated with a particular value of the difference between the capacitances C_(n,k3) and C_(n,k3−1). In order to sort the physical characteristics of the set Ec into different classes, the machine 70 in particular is able to effectuate changes in a system of nonlinear axes. Such changes in a system of non-collinear axes are known as a “kernel trick”.

Classically, before launching the learning of the function f_(SVM), parameters C, E and γ of the machine 70 need to be adjusted. The parameter C is the penalty parameter for the error term. It is a parameter dealing with the complexity of the hyperplane to be sought, given that classification errors are punished more or less harshly. The parameter E is the parameter that deals with the extent of the margin permitted. It characterizes rather well the precision that one should have in the regression. The parameter γ represents the parameter of the Gaussian kernel, enabling a greater or lesser maneuvering margin in the context of the kernel trick. Here, these parameters are adjusted by applying the method described in the following article: V. Cherkassky: Yunqian Ma Vladimir Cherkassky: “Practical selection of svm parameters and noise estimation for svm regression”, ELSEVIER, Neural Networks, 2003.

The machine 70 is realized, for example, from the toolkit libsvm which can be downloaded from many Internet sites such as the site http://www.csie.ntu.edu.tw/cjlin/libsym/. This toolkit has the advantage of easily interfacing with a large number of programs, such as for example Matlab®.

Once the conjunction f_(SVM) has been learned, the machine 70 can function in the utilization mode. In the utilization mode, at each time k3, the machine 70 receives the values of the characteristics of the set Ec and in response, it returns to the estimator 68 the value of the function f_(SVM)(Ec) at time k3.

The functioning of the system 40 shall now be described with the aid of the method of FIG. 8 and in the particular case of the estimation of the state of charge of the cell 18.

The method starts with a phase 100 of initialization of the system 40. During a step 102, the machine 70 performs an initial learning of the function f_(SVM). For this, during an operation 104, the current intensity i_(k), the measured value y_(k) and the capacitance of the cell 18 are recorded in a database for a large number of different times. Typically, the operation 104 is performed in the laboratory and on a cell identical to the cell 18, though not necessarily the actual cell 18 itself. In the laboratory, it is possible to measure the capacitance C_(n,k) at each time k. For example, the capacitance C_(n,k) is measured by impedance spectroscopy or by electrochemical impedance spectroscopy.

During an operation 106, the database so constructed is acquired by the machine 70. For example, it is recorded in the memory 42 as the learning database 71.

Finally, during an operation 108, the machine 70 executes the supervised learning algorithm to learn the initial function f_(SVM) by using the data recorded in the database 71.

Step 102 is finished when the learning of the function f_(SVM) is completed. This function f_(SVM) initially learned is then recorded in the memory 42.

During a step 110, the covariance matrices Q₀ and R₀ of the estimator 60 are adjusted. Here, these matrices Q₀ and R₀ are adjusted by implementing a conventional method. For example, the matrix R₀ is adjusted using data provided by the manufacturer of the sensors or from tests performed on these sensors. The matrix Q₀ is adjusted by successive tests. As an illustration, the matrix Q₀ is taken equal to 10⁻³.

During step 110, the covariances Q_(3,0) and R_(3,0) of the estimator 68 are adjusted. For example, the covariance Q_(3,0) is taken equal to [γ_(c)*C_(n) ^(ini)/(3*N^(c) _(eol)*N_(s))]², where γ_(c) represents, expressed as percentage divided by 100, the difference between the capacitance C_(n) ^(ini) and the end of life capacitance of the cell 18. γ_(c) is a constant chosen by the user between 0.05 and 0.8, preferably between 0.05 and 0.3. Here, γ=0.2.

The covariance R_(3,0) is for example chosen equal to [2*ε_(im)*I_(max)/300]², where ε_(im) is the maximum error of the ammeter 36 expressed in percent.

In what follows, to simplify the description, the covariances Q_(3,k3) and R_(3,k3) are considered to be constant and are taken equal, respectively, to Q_(3,0) and R_(3,0). However, as a variant, it is also possible to update them at each time k3, for example, as a function of the innovation, and by applying known methods.

Once the phase 100 of initialization has been finished, the estimation of the state of charge of the cell 18 can begin.

During a phase 112, at each time k, the voltmeter 34 and the ammeter 36 measure, respectively, the value y_(K) and the intensity i_(k) and these measurements are immediately acquired by the system 40 and recorded in the memory 42. The phase 112 is reiterated at each time k.

In this embodiment, if the coefficients of the filter h_(t,k2) are not known, the estimator 60 cannot be executed. In this case, in parallel with phase 112, the computer 44 starts by executing a phase 114 of estimation of the state of charge SOC_(k) of the cell 18 with the help of another estimation algorithm not using the filter h_(t,k2). Here, this other algorithm is an extended Kalman filter using a model of state 116 (FIG. 9) and a model of observation 118 (FIG. 10). The model 116 is obtained from a simplified electrical model of the cell 18 in which the impedance 54 comprises only a single parallel RC circuit. The resistance R_(D) and the capacitance C_(D) of this parallel RC circuit are furthermore considered to be predetermined constants. The voltage V_(Diff,k) is the voltage at time k on the terminals of this RC circuit. This voltage V_(Diff,k) is not directly measurable. Thus, in the model 116 it is treated as a supplemental variable of state to be estimated. In the model 116, we assume that the capacitance of the cell 18 is constant and equal to its initial value C_(n) ^(ini). This hypothesis is reasonable and only introduces a slight error, since phase 114 is executed just after the start of the utilization of the system 40. At this stage, the cell 18 has not had time to age.

Model 118 is identical to model 64 except that the product h_(t,k2)*X_(k) is replaced by the sum V_(Diff,k)+RO^(inI)*i_(k). RO^(ini) is the initial value of the internal resistance of the cell 18. In this model 118, the value RO^(ini) is a constant. This hypothesis also introduces very little error, since phase 114 is executed at a stage when the cell 18 has not yet had time to age.

The models 116 and 118 are independent of the coefficients of the filter h_(t,k2). It is thus possible to begin estimating the state of charge SOC_(k) with these models without waiting for the coefficients of the filter h_(t,k2) to be determined.

During phase 114, the covariance matrices of the centered Gaussian white noise w_(k) and v_(k) of the models 116 and 118 are adjusted in a way similar to that described for step 110. Moreover, to simplify matters, they are assumed to be constant. Thus, during phase 114, the covariance matrices R_(k) and Q_(k) at time k are equal, respectively, to the matrices R₀ and Q₀ whatever the time k.

Next, during a step 120, the computer 44 calculates a prediction SÔC_(k/k−1) and a prediction V_(Diff,k.k−1) of, respectively, the state of charge of the cell 18 and the voltage V_(Diff,k) on the terminals of the RC circuit at time k. In the notations used here, the index k/k−1 shows that this prediction is done by only accounting for the measurements performed between times 0 and k−1. One thus speaks of an a priori prediction. The index k/k shows that the prediction at time k takes account of the set of measurements performed between times 0 and k. One thus speaks of an a posteriori prediction. The predictions SÔC_(k/k−1) and V_(Diff,k/k−1) are calculated with the help of the model 116, the measured intensity i_(k−1) and the capacitance C_(n) ^(ini).

During a step 122, the computer 44 also calculates the prediction P_(k/k−1) of a covariance matrix for the error of estimation on the vector of state x_(k). The vector of state x_(k) here is the vector [SOC_(k); V_(Diff,k)]^(T). Typically, this is done with the help of the following relation:

P _(k/k−1) =F _(k−1) P _(k−1/k−1) F _(k−1) ^(T) +Q _(k−1)

F_(k−1) is the state transition matrix at time k−1. In the model 116, the state transition matrix is constant. The matrices P_(k−1/k−1) and Q_(k−1) have already been defined above.

Next, during a step 124, the computer constructs a matrix H_(k) by linearizing the model 118 about the predictions SÔC_(k/k−1) and V_(Diff,k/k−1). In fact, the model 118 is nonlinear, because the function OCV(SOC_(k)) is generally nonlinear. Because of this, the computer implements the extended version of the Kalman filter. In this extended version, one ends up with a linear observation model of the form y_(k)=H_(k)x_(k)+RO^(ini)*i_(k)+v_(k) by linearizing the model 118 in the neighborhood of the vector x_(k). Typically, the model 118 is developed into a Taylor series in the neighborhood of the vector x_(k). One then disregards the contributions of the derivatives starting with the second order. Here, the matrix H_(k) is thus equal to the first derivative of the function OCV in the neighborhood of the state of charge SOC_(k). This linearization of the model 118 is typically done for each new value of the state of charge SOC_(k).

After this, during a step 126, the computer corrects the predictions SOC_(k/k−1) and V_(Diff,k/k−1) as a function of a difference between the measured value y_(k) and a value ŷ_(k) predicted from the model 118. This difference is known as the “innovation”. This step 126 typically involves:

-   -   an operation 128 for calculating the prediction ŷ_(k), then     -   an operation 130 for correction of the predictions SÔC_(k/k−1)         and V_(D,k/k−1) and the matrix P_(k/k−1) to obtain the corrected         predictions SÔC_(k/k), V_(Diff,k/k) and P_(k/k).

During the operation 128, the prediction ŷ_(k) is calculated with the aid of the model 118 in which the value of the state of charge is taken equal to SÔC_(k/k−1) and the value of the voltage V_(Diff,k) is taken equal to V_(D,k/k−1). The difference between the measured value y_(k) and its prediction ŷ_(k) is henceforth denoted as E_(k).

There are many methods for correcting the a priori estimations SÔC_(k/k−1) and V_(Diff,k/k−1) based on the innovation E_(k). For example, during the operation 130, these estimations are corrected with the help of the Kalman gain K_(k). The gain K_(k) is given by the following relation K_(k)=P_(k/k−1)H^(T) _(k)(H_(k)p_(k/k−1)H^(T) _(k)+R_(k))⁻¹. The a priori predictions are then corrected with the help of the following relation: x_(k/k)=K_(k)E_(k).

The matrix P_(k/k−1) is corrected with the help of the following relation:

P _(k/k) =P _(k/k−1) −K _(k) H _(k) P _(k/k−1)

Finally, during a step 132, the predicted and corrected estimation SOC_(k), the measured current intensity i_(k) and the measured value y_(k) are recorded in a particular table of the database 71.

Steps 120 to 132 are reiterated K₁₁₄ times, and preferably at each successive time k. K₁₁₄ is preferably absolutely greater than Nh+Mh+1, and typically greater than fifty. Generally, K₁₁₄ is less than 1000 so as not to have the phase 114 last too long. Here, K₁₁₄ is taken equal to 100. Thus, phase 114 is executed for around 1 min and 40 s until the database 71 contains enough data to determine the coefficients of the filter h_(t,k2). During each new iteration of the steps 120 to 132, the vector of state x_(k−1) is initialized with the values obtained during the preceding iteration of phase 114 for the cell 18.

Once the number of data stored in the database 71 is deemed sufficient, the computer 44 triggers at a time k2 the execution of the estimator 66. From that time on, during a phase 140, the computer 44 updates the coefficients of the filter h_(t,k2).

During a step 142, the computer 44 initializes the values of the coefficients a_(i,k2−1) and b_(i,k2−1) of the filter h_(t,k2−1) estimated at time k2−1 at predetermined values if it is the first execution of the phase 140. If the phase 140 has already been executed, the coefficients a_(i,k2−1) and b_(i,k2−1) are initialized with their values obtained at the end of the execution of phase 140 at time k2−1.

During step 142, the computer 44 likewise initializes a covariance matrix P_(RLS,k2−1). During the first execution of phase 140, the coefficients of this matrix P_(RLS,0) are taken equal to prerecorded values in the memory 42. For example, the values of the coefficients of this matrix are taken equal to 10⁶ in order to show that the uncertainty as to the initial value of the coefficients a_(i,k2−1) and b_(i,k2−1) is at a maximum. During the following iterations of phase 140, the coefficients of the matrix P_(RLS,k2−1) are taken equal to the coefficients of this matrix obtained at time k2−1.

During a step 144, at time k2, the estimator 66 acquires the vector X_(k2). In this vector X_(k2), the intensities i_(k) to i_(k−Nh) and the voltages V_(D,k−1) to V_(D,k−Mh) are obtained from data recorded in the database 71 using as time k the time closest to time k2. For example, during step 144, k is taken equal to k2. More precisely, the voltage V_(D,k−i) is obtained from the difference between the measured value y_(k−i) and the no-load voltage OCV(SOC_(k−i)), where the measured value y_(k−i) and the state of charge SOC_(k−i) are data recorded in the database 71 for the time k−i. During this step, the estimator 66 likewise acquires the measured intensity i_(k) and the measured value y_(k).

During a step 146, the estimator 66 calculates a gain K_(RLS,k2). For example, this gain is calculated with the help of the following relation: K_(RLS,k2)=(X_(k2) ^(T)*P_(RLS,k2−1))/(λ_(RLS)+X_(k2) ^(T)*P_(RLS,k2−1)), where the coefficient λ_(RLS) is a predetermined constant known as the “omission factor”. This constant is between 0 and 1. Here, λ_(RLs) is chosen greater than or equal to 0.9. For example, λ_(RLS) is equal to 0.99.

During a step 148, the estimator 66 calculates a prediction Vp_(D,k2) of the voltage V_(D,k2) with the help of the following relation: Vp_(D,k2)=h_(t,k2−1) ^(T)*X_(k2).

Next, during a step 150, the estimator 66 calculates the difference e_(RLS,k2) between the measured voltage V_(D,k2) and its predicted value Vp_(D,k2). The measured voltage V_(D,k2) is obtained from the difference y_(k2)−OCV(SOC_(k2)), where the measured value y_(k2) is the value acquired during step 144.

During a step 152, the estimator 66 corrects the values of the old coefficients a_(i,k2−1) and b_(i,k2−1) to obtain new coefficients a_(i,k2) and b_(i,k2) which further minimize the difference e_(RLS,k2). The filter with the coefficients a_(i,k2) and b_(i,k2) is denoted as h_(t,k2). For example, the new coefficients a_(i,k2) and b_(i,k2) are determined with the help of the following relation: h_(t,k2)=h_(t,k2−1)+K_(RLS,k2)*e_(RLS,k2).

Finally, during a step 154, the covariance matrix P_(RLS, k2−1) is updated to obtain the new matrix P_(RLS,k2). For example, this is done with the help of the following relation: P_(RLS,k2)=(P_(RLS,k2−1)−K_(RLS,k2)*X_(k2) ^(T)*P_(RLS,k2−1)) ARLS

Steps 142 to 154 are reiterated K₁₄₀ times in a row to obtain a good estimation of the coefficients of the filter h_(t,k2). For example, these steps are reiterated at each time k between time k and time k+K₁₄₀ Here, K₁₄₀ is greater than 50 and generally less than 1000. For example, K₁₄₀ is equal to 100. Typically, the iterations of steps 142 to 154 are halted when one of the following conditions is met:

K ₁₄₀≥50 and P _(RLS,k) ≤S _(PRLS), or

K ₁₄₀=100.

The threshold S_(PRLS) is a predetermined threshold for the covariance of the error of estimation of the coefficients a_(i,k2) and b_(i,k2).

When the iteration of steps 142 to 154 ceases, the execution of the estimator 60 is triggered, which triggers the execution of a phase 160 of estimation of the state of charge SOC_(k). In parallel, phase 114 is halted. In fact, the estimator 60 provides a more precise estimation of the state of charge SOC_(k) than that obtained by the estimation algorithm carried out during phase 114.

In order to estimate the state of charge SOC_(k), the estimator 60 systematically uses the last known values for the coefficients of the filter h_(t,k2) and of the capacitance C_(n,k3). Thus, as long as no capacitance C_(n,k3) has been estimated by the estimator 68, it is the capacitance C_(n) ^(ini) which will be used. The functioning of phase 160 may be inferred from the previous teaching and that contained in the preceding articles dealing with sigma point Kalman filters. Consequently, this phase 160 is not described in detail. Phase 160 involves in particular:

-   -   a step 162 of calculating a prediction SÔC_(k/k−1) of the state         of charge of the cell 18 with the help of the model 62, then     -   a step 164 of calculating a prediction ŷ_(k) of the measured         value y_(k) with the help of the model 64, then     -   the correction, during a step 166, of the prediction SÔC_(k/k−1)         to obtain the predicted and corrected state of charge SÔC_(k/k)         from the difference between the predicted value ŷ_(k) and the         measured value y_(k). For example, phase 160 is executed at each         time k from the time when the execution of the estimator 60 was         triggered.

Likewise in parallel with phases 112, 114, 140 and 160, the method involves a step 180 during which, at each time k, the state of charge SOC_(k) is compared to a predetermined upper threshold SH_(soc). If the state of charge SOC_(k) drops below this threshold SH_(soc), the method then continues at once with steps 182 and 184. Otherwise, step 180 is reiterated at the next time k. Typically, the threshold SH_(soc) is between 90% and 100%.

During step 182, the computer 44 begins by initializing a counter at zero and then increments it by 1 at each new measurement of the intensity i_(k) from the start of this step. Moreover, at each time k, the measured intensity i_(k) and the state of charge SOC_(k) generated at the same time are recorded, associated with this time k, in the database 71.

In parallel with step 182, during step 184, the computer 44 compares each new state of charge SOC_(k) to a predetermined threshold SL_(soc). The threshold SL_(soc) for example lies between 0% and 10%. As long as the state of charge SOC_(k) remains higher than this threshold SL_(soc), step 182 is reiterated at the following time k. Otherwise, as soon as the state of charge SOC_(k) for the cell 18 falls below this threshold SL_(soc), the computer 44 then triggers at once the execution of the estimator 68 and stops incrementing the counter. Thus, as long as this threshold SL_(soc) has not been crossed, the execution of the estimator 68 is inhibited.

The estimator 68 estimates, during a phase 188, the capacitance C_(n,k3) at time k3. Thus, time k3 is equal to time k when the execution of the estimator 68 is triggered.

As for phase 140, given that the estimator 68 is not executed at each time k, the time k3−1 does not correspond to the time k−1. On the contrary, the times k3 and k3−1 are separated by an interval of time greater than or equal to NT_(e) where N is the number counted during step 182.

The parameters of the Kalman filter of the estimator 68 are initialized with the previous values of these parameters obtained at the end of the previous iteration at time k3−1 of phase 188.

Phase 188 involves:

-   -   the calculating, during a step 190, of the prediction         C_(n,k3/k3−1) with the help of the model 74,     -   the calculating, during a step 192, of the prediction         P_(3,k3/k3−1) of the covariance matrix of the error of         estimation of the capacitance, and     -   the correction, during a step 194, of the predictions         C_(n,k3/k3−1) and P_(3,k3/k3−1).

During step 190, the estimator 68 uses the last function f_(SVM) learned. Initially, therefore, this is the function f_(SVM) learned during step 102. On the other hand, if the machine 70 has executed a new cycle of learning, then it is this last learned function which is used by the estimator 68. For example, in order to learn the value of the function f_(SVM)(Ec) at time k3, the parameters of the set Ec as measured at time k3 are sent to the machine 70, which in response sends to the estimator 68 the value of the function f_(SVM)(Ec) at time k3. In this embodiment, the machine 70 acquires the measured value y_(k3) and the measured current intensity i_(k3). During step 190, the machine 70 functions in its utilization mode.

During steps 192 and 194, the matrix of observability H_(3,k3) is equal to [(SOC_(k)−SOC_(k−N))]*3600/(NT_(e)). N here is the number of times k elapsed between the time when the estimated state of charge has dropped below the threshold SH_(soc) and the time when the estimated state of charge has dropped below the threshold SL_(soc). The value N is equal to the value counted during step 182.

Step 194 involves an operation 196 of acquisition of the measured physical quantity z_(k3) and calculation of the prediction {circumflex over (z)}_(k3) of the quantity z_(k3). The acquisition of the quantity z_(k3) consists here in calculating the sum of the last N intensities measured between times k−1 and K−N. The prediction {circumflex over (z)}_(k3) is obtained from the model 76.

Next, during an operation 198, the estimator 68 corrects the prediction C_(n,k3/k3−1) as a function of the difference between the measured quantity z_(k3) and the predicted quantity {circumflex over (z)}_(k3) in order to obtain the a posteriori estimation of the capacitance C_(n,k3/k3) This correction is done for example as described during the operation 130.

Next, the capacitance C_(n,k3/k3) is sent to the estimator 60 which uses it to estimate the state of charge of the cell 18 at the following times. At the same time, the current intensity i_(k3), the measured value y_(k3) and the capacitance C_(n,k3/k3) are recorded in the database 71.

The fact of triggering the execution of the estimator 68 only after the cell 18 is discharged for the most part lets us increase the precision of the estimation while at the same time decreasing the computing power needed to carry out this method.

At the end of phase 188, during a step 200, the computer calculates the state of health SOH_(k3) at time k3 with the help of the following formula: SOH_(k3)=C_(n,k3)/C_(n) ^(ini).

The method likewise involves a step 210 during which the computer 44 verifies whether at least one condition for automatically triggering a new phase 212 of learning of the function f_(SVM) is fulfilled. For example, a new execution of phase 212 is automatically triggered whenever the covariance of the error of estimation of the capacitance C_(n,k3) exceeds a predetermined threshold S_(PC). Phase 212 is triggered at time k4. The set of times k4 at which phase 212 is triggered is a subset of the times k3. During phase 212, the machine 70 operates in learning mode. More precisely, the machine 70 once again executes the supervised learning algorithm, taking into account the current intensities i_(k3), the measured values y_(k3) and the capacitances C_(n,k3) as predicted and corrected by the estimator 68 at the previous times k3. For example, the machine 70 only takes into account the data recorded in the database 71 since the preceding time k4−1 of execution of phase 212. Once the learning of the new function f_(SVM) is finished, it shall be this new function which is used by the estimator 68.

In parallel, during a step 220, the computer 44 compares each new measurement of current intensity i_(k) to a predetermined current threshold SH_(i). As long as the measured current intensity does not cross this threshold SH_(i), the execution of the estimator 66 is inhibited. On the other hand, whenever the measured current intensity i_(k) crosses this threshold SH_(i), the estimator 66 is executed at once. The threshold SH_(i) is generally greater than I_(max)/2, and advantageously greater than 0.8*I_(max) or 0.9*I_(max).

The estimator 66 then executes once more the phase 140 of estimation of the coefficients of the filter h_(t,k2) at time k2. Here, the time k2 is equal to the time k when the current intensity i_(k) crosses the threshold SH_(i).

The fact of triggering the execution of the estimator 66 only when the measured current intensity i_(k) is elevated lets us increase the precision of the estimation of the coefficients of the filter h_(t,k2) while at the same time decreasing the computing power needed to carry out this method. In fact, the measurement precision of the ammeter is higher when the current intensity i_(k) is more elevated.

Many other embodiments of the method of estimation of the state of charge of a cell are possible. For example, other electronic models and thus other models of state can be used to estimate the state of charge of the cell 18. For example, in one simplified variant, the impedance 54 is simulated with the aid of a finite impulse response filter. In the preceding description, this amounts to taking Mh equal to zero. In this case, Nh is generally chosen greater than or equal to 10. For example, Nh is chosen equal to 15. Other possible models of state are described in the patent application WO2006057468. In particular, the vector of state x_(k) can also be supplemented with the temperature of the cell 18 in order to estimate this temperature at the same time as the state of charge of this cell.

Other models of observation are likewise possible for the estimator 60. For example, the cell 18 is outfitted with a supplemental sensor, such as a temperature sensor. In this case, the model of observation is modified to take into account these supplemental measured physical quantities. The reader may refer to the patent application WO2006057468 for examples of modified models of observation. If the model of observation used does not use the filter h_(t,k2), then the estimator 66 is omitted.

Other possible electrical models for simulating the cell 18 are likewise presented in part 2 of Plett 2004, in chapter 3.3.

The estimator 60 may also implement the extended version of the Kalman filter, better known by the acronym EKF (Extended Kalman Filter), instead of the sigma point version. The estimator 60 may also be implemented in a form other than a Kalman filter. For example, the state of charge is estimated by simulating its variation over time in the form of an IIR (infinite impulse response) filter whose coefficients are estimated by the RLS (Recursive Least Square) method.

In one variant of the estimator 60, the covariance matrices R_(k) and Q_(k) are adjusted automatically in continual fashion. For this, for example, the so-called “Covariance Matching” method described in the following article is used: Mehra, R. K: “On the identification of variances and adaptative Kalman Filtering”, Automatic Control, IEEE Transaction on, Volume 15, No. 2, pages 175-184, April 1970. This method is applied after an initial setup of the matrices R₀ and Q₀, for example, as described during step 110.

Likewise, the step of correction of the prediction can be done differently. For example, the correction of the prediction of the state of charge SOC_(k) or of the capacitance C_(n,k3) is done by minimizing a quadratic cost function J composed of two terms:

-   -   one term linked to the error of prediction of the measured         value, and     -   another term linked to the error of estimation of the vector of         state.

This method is described in detail in chapter 10.5.2 of the following book: Y. Bar-Shalom, et al.: “Estimation With Applications to Tracking and Navigation, Theory Algorithms and Software”, Wiley Inter-science, 2001.

As a variant, the estimator 60 is not necessarily executed at each time k. In this case, the estimator 60 retrieves the information needed for this execution from values obtained at the end of its previous execution. This is the case in particular for the variables of state. It will be noted, however, that the preceding time of execution is then not necessarily the time k−1, but may be a time k−3 or k−10.

The estimator 66 can use other algorithms to determine the coefficients of the filter h_(t,k2). Thus, in a variant, the estimator implements another variant of the recursive least square algorithm known by the acronym RLS-GSW (Recursive Least Square Global Sliding Window). It may also implement the recursive algorithm used in the following article to estimate the capacitance of a cell of a battery: Gregory L. Plett, “Recursive approximate weighted total least squares estimation of battery cell total capacity”, Journal of Power Sources 196 (2011) 2319-2331. It is also possible to incorporate the coefficients of the filter h_(t,k2) in the vector of state of the model of state and then to use a Kalman filter to estimate these coefficients at the same time as the state of charge is estimated. In this latter case, the model of state 62 is replaced by the following model of state:

$\begin{bmatrix} {SoC}_{h + 1} \\ b_{0} \\ b_{1} \\ \vdots \\ b_{N} \\ a_{1} \\ \vdots \\ a_{M} \end{bmatrix} = {\begin{bmatrix} {{SoC}_{k} + \frac{i_{k}\Delta \; T}{C_{k}}} \\ b_{0} \\ b_{1} \\ \vdots \\ b_{N} \\ a_{1} \\ \vdots \\ a_{M} \end{bmatrix} + \begin{bmatrix} w_{k} \\ w_{k_{0}} \\ w_{k_{1}} \\ \vdots \\ w_{k_{N}} \\ w_{k_{N + 1}} \\ \vdots \\ w_{k_{N + M}} \end{bmatrix}}$

where: b₀ to b_(N) and a₁ to a_(M) are the coefficients of the filter h_(t,k2) and correspond, respectively, to the coefficients b_(o,k2) to b_(Nh,k2) and a_(1,k2) to a_(Mh,k2) previously described. In this latter case, the model of observation is unchanged. Thus, it involves the model 64. In this variant, the coefficients b_(o) to b_(N) and a₁ to a_(M) are estimated at each time k. However, the model 62 may also be replaced by the above model of state only at the times k2, and between two successive times k2, it is the model 64 which is used.

Initial coefficients a_(i,o) and b_(i,o) of the filter h_(t,o) may be determined in the laboratory by trial and error on a cell identical to the cell 18, for example. Then, during the phase 100 of initialization, the coefficients a_(i,o) and b_(i,o) so determined in the laboratory are recorded in the memory 42 even before the first activation of the system 40. Thus, starting with the first execution of the method of FIG. 8, the estimator 60 can be executed by using these prerecorded coefficients a_(i,o) and b_(i,o). In this case, phase 114 is omitted.

The execution of the estimator 66 may be triggered differently. For example, the execution of the estimator 66 is triggered periodically. In this case, step 220 is omitted.

Depending on the model of observation used by the estimator 68, the quantity z_(k3) may be calculated differently. For example, the quantity z_(k3) is equal to the sum of the last N intensities measured between the times k and k_(−N+1). In this case, when N is equal to 1, z_(k3)=i_(k3).

In a variant, the function G_(SVM)(C_(n,k3−1); Ec) is not written in the form C_(n,k3−1)+f_(svm)(Ec). In this case, the function G_(SVM)(C_(n,k3−1), Ec) is generally not a linear function of the capacitance C_(n,k3). The estimator 68 is then implemented, for example, in the form of an extended Kalman filter or a sigma point Kalman filter.

The triggering of the estimator 68 may be simplified by taking N equal to a predetermined constant. In this case, N is not counted and the steps 180 and 182 are omitted. For example, N is chosen equal to one or, on the other hand, absolutely greater than 1 or 5 or 10. In an even more simplified variant, the triggering of the estimator 68 in response to the crossing of a threshold is omitted. For example, the estimator 68 is triggered periodically. In this case, steps 180, 182 and 184 are omitted.

In a variant, the covariances Q_(3,0) and R_(3,0) of the estimator 68 are adjusted as a function of the uncertainty as to the function fsvM constructed by the machine 70 and obtained at the end of step 102.

During the phase 212 of learning, the physical characteristics of the set Ec are not necessarily the same as those used during the initial learning step 102.

In another variant, the function fsvM is learned by a learning machine which is mechanically independent of the vehicle 2 and of the cell 18. For example, this other learning machine is executed in a laboratory. The function fsvM learned by this other machine is then recorded in the memory 42 used afterwards by the machine 70 as the initial function f_(SVM) even if this function has not been learned by the machine 70. The other learning machine is for example identical to the machine 70. In this case, the machine 70 is not used to learn the initial function f_(SVM) and the initial learning step 102 is omitted.

In a simplified variant, the phase 212 of learning is omitted. Thus, in this embodiment, the function f_(SVM) is never relearned during the utilization of the system 40. The machine 70 thus functions only in utilization mode after the initial learning step 102. In an even more simplified variant, besides omitting the phase 212, the function f_(SVM) initially learned is not learned with the aid of the machine 70 but with another supervised learning machine independent of the vehicle 2. Step 102 then involves only the recording in the memory 42 of this function f_(SVM) learned by another machine. In this case, the machine 70 is considerably simplified because it does not have to implement the supervised learning algorithm. It functions solely in utilization mode.

In another embodiment, the initial learning step 102 is omitted. Therefore, as long as the function f_(SVM) has not been learned by the machine 70, the estimator 68 uses a different algorithm for estimation of the capacitance. For example, it may use an RLS algorithm such as that described in the following article: Gregory L. Plett, “Recursive Approximate Weighted Total Least Squares Estimation of Battery Cell Total Capacity”, Journal of Power Source, 196 (2011), 2319-2331. It may also use a different Kalman filter in which the model of state does not involve the function f_(SVM). For example, in this latter case, the model of state may be as follows: C_(n,k3+1)=C_(n.k3)+w_(3,k3).

The battery 10 may be replaced by any type of battery, such as a lead battery, a super capacitance, or a fuel cell. In this case, the model of state and/or the model of observation of the estimator 60 can optionally be adapted to take into account the battery technology.

What has been specified above also applies to the hybrid vehicle, that is, the vehicle whose driving of the powered wheels is provided at the same time, or alternately, by an electric motor and a thermal internal combustion engine. The vehicle 2 may also be a truck, a motorbike or a tricycle and generally speaking any vehicle capable of moving by driving of power wheels with the aid of an electric motor energized by a battery. For example, it may be a hoist.

The battery 10 can be recharged with the aid of an electrical outlet which allows it to be electrically connected to the electricity mains. The battery 10 can also be recharged by a thermal internal combustion engine.

Finally, the method of estimation of the coefficients of the filter h_(t,k2) as described above can be implemented independently of the learning machine 70. For example, the function f_(SVM) is omitted from the model of state 74. In this case, the estimator 68 uses only the following model of state C_(n,k3+1)=C_(n,k3)+w_(3,k3) and the machine 70 is omitted. Neither is the estimator 68 necessarily implemented in the form of a Kalman filter. For example, the capacitance is estimated by simulating its variation over time in the form of an infinite impulse response (IIR) filter whose coefficients are estimated by the RLS (Recursive Least Square) method. In yet another more simplified variant, the capacitance C_(n,k3) is not estimated. For example, it is taken to be constant and equal to the capacitance C_(n) ^(ini). 

1-13. (canceled)
 14. A method comprising automatically estimating capacitance of a cell of a battery, wherein estimating said capacitance of said cell comprises acquiring, at a time k, a measured charging or discharging current i_(k) of said cell, and executing an estimation step, wherein said estimation step comprises estimating a capacitance C_(n,k3) of said cell at a time k3 by using a Kalman filter, wherein estimating said capacitance comprises calculating a prediction of said capacitance C_(n,k3) with the help of a state model that relates said capacitance C_(n,k3) to a capacitance C_(n,k3−1) of said cell at a previous time k³⁻¹, acquiring, at time k3, a measurable physical quantity z_(k3) defined by: $z_{k\; 3} = {\sum\limits_{m = {k - N}}^{m = {k - 1}}\; i_{m}}$ wherein k is the closest time to the time k3 and N is an integer greater than or equal to one, z_(k3) being equal to i_(k−1) when N is equal to one, calculating a prediction {circumflex over (z)}_(k3) of said measurable physical quantity z_(k3) with help from an observation model, correcting said prediction of the capacitance C_(n,k3) as a function of a difference between said acquired physical quantity z_(k3) and said prediction {circumflex over (z)}_(k3) as calculated from said observation model, and automatically learning a function G_(SVM) that returns said capacitance C_(n,k3) as a function of said capacitance C_(n,k3−1) and at least one physical characteristic c_(c1,k3) correlated with change over time of said cell's capacitance and measured at time k3, wherein automatically learning comprises executing a supervised learning algorithm on a learning database, said learning database having values of said capacitance and, for each value of said capacitance, a value of said physical characteristic measured concurrently with said capacitance and a preceding value of said capacitance, and once said function G_(SVM) has been learned, during execution said estimation step at a later time k3+1, calculating a prediction of said capacitance C_(n,k3+1) using state model defined by C_(n,k3+1)=G_(SVM) (C_(n,k3), cc_(1,k3+1)).
 15. The method of claim 14, wherein said function G_(SVM)(C_(n,k3−1), cc_(1,k3)) is defined by G_(SVM)(C_(n,k3−1), cc_(1,k3))=C_(n,k3−1)+ƒ_(SVM)(cc_(1,k3)), wherein ƒ_(SVM)(cc_(1,k3)) is a function learned during said learning step from data recorded in said learning database.
 16. The method of claim 14 further comprising, at each time k3, recording, in said learning database, said capacitance C_(n,k3) as predicted and then corrected by said Kalman filter during execution of said estimation step, and said physical characteristic cc_(1,k3) measured at time k3, wherein automatically learning said function G_(SVM) comprises executing said supervised learning algorithm on said learning database in which said capacitance C_(n,k3) predicted and then corrected by said Kalman filter has been recorded.
 17. The method of claim 16, wherein execution of said estimation step further comprises estimating a covariance Pc_(k3) of an error associated with estimating said capacitance C_(n,k3) and triggering automatic learning of said function G_(SVM) when said estimated covariance Pc_(k3) crosses a predetermined threshold.
 18. The method of claim 14, wherein calculating said prediction {circumflex over (z)}_(k3) is done with help from an observation model defined by ${\hat{z}}_{k\; 3} = {\frac{\left( {{SOC}_{k} - {SOC}_{k - N}} \right)}{{NT}_{e}} \cdot 3600 \cdot C_{n,{k\; 3}}}$ wherein k is the closest time to the time k3, wherein SOC_(k) and SOC_(k−N) are the states of charge of the cell at times k and k−N, wherein C_(n,k3) is, in said observation model, said prediction of the capacitance of the cell at time k3 calculated just before being corrected, and wherein T_(e) is a time interval that separates any two times k and k−1.
 19. The method of claim 14, wherein said supervised learning algorithm comprises a support vector machine.
 20. The method of claim 14, further comprising calculating a state-of-health SOH_(k3) of said cell based at least in part on the ratio of the capacitance of said cell estimated at the most recent time and said cell's initial capacitance.
 21. A method comprising automatically estimating state-of-charge of a cell of a battery, wherein automatically estimating said state-of-charge comprises acquiring at times k, a measured value y_(k) of voltage between terminals of said cell and a measured charging or discharging current i_(k) of said cell, executing an estimation step, wherein said estimation step comprises estimating state-of-charge SOC_(k) of said cell, at times k, from said measured value y_(k) of voltage, said measured current i_(k) and a capacitance C_(n,k3) of said cell, said capacitance C_(n,k3) being indicative of the maximum quantity of electrical energy storable in said cell at times k3, said times k3 being times closest to times k at which said capacitance C_(n,k3) was estimated, and estimating said capacitance C_(n,k3) at said times k3, said times k3 being less frequent than said times k, wherein estimation of capacitance C_(n,k3) at said times k3 comprises executing the method recited in claim
 14. 22. The method of claim 21, further comprising updating coefficients of an infinite impulse response filter h_(t,k2+1), wherein updating said coefficients comprises calculating a prediction Vp_(D,k) of a measured value of a voltage V_(D,k) at terminals of an impedance of said cell, wherein said prediction is defined by $V_{p_{D,k}} = {{h_{t,{k\; 2}}*X_{k}} = {{\sum\limits_{i = 0}^{i = {Nh}}\; {b_{i,{k\; 2}}*i_{k - i}}} - {\sum\limits_{i = 1}^{i = {Mh}}\; {\alpha_{i,{k\; 2}}*V_{D,{k - i}}}}}}$ wherein is current measured at time k−i, V_(D,k−i) is voltage measured at terminals of said impedance of said cell at time k−i, a_(i,k2) and b_(i,k2) are filter coefficients h_(t,k2) updated at time k2, time k2 is the time closest to time k, wherein Nh and Mh are constants, each of which is a integer that is greater than two, calculating a difference e_(RLS,k) between said measured value V_(D,k) and said prediction Vp_(D,k), wherein said measured value V_(D,k) is obtained from a difference y_(k)−OCV(SOC_(k)), wherein OCV(SOC_(k)) is a predetermined function that returns a no-load voltage between said terminals of said cell for state-of-charge SOC_(k) of said cell at time k, correcting said coefficients a_(i,k2) and b_(i,k2) to minimize said difference e_(RLS,k), and once said filter coefficients h_(t,k2) have been updated, estimating, during execution of said estimation step, state-of-charge SOC_(k) of said cell with help from a Kalman filter that uses an observation model defined by y_(k)=OCV(SOC_(k))−h_(tk2)·X_(k), wherein h_(t,k2) is the finite impulse response filter whose coefficients were updated at said times k2 closest to said times k, and wherein X_(k) is the vector [i_(k), . . . , i_(k−Nh), V_(D,k−1), . . . , V_(D,k−Mh]) ^(T).
 23. The method of claim 22, further comprising selecting said Kalman filter used during execution of said estimation step to be a sigma point Kalman filter.
 24. A manufacture comprising a tangible and non-transitory computer-readable medium having encoded thereon instructions that, when executed by a computer, cause said computer to perform the method of claim
 14. 25. An apparatus comprising a battery management system outfitted with at least one cell, said battery-management system comprising an electronic computer programmed to perform the method recited in claim
 14. 26. The apparatus of claim 25, further comprising an automobile, said automobile comprising at least one powered wheel, an electric motor configured to rotate said powered to move said automobile, a battery comprising at least one cell able to store electrical energy and, alternately, return the electrical energy in order to energize said electric motor, said cell comprising first and second terminals, a voltmeter electrically connected between said first and second terminals to measure a voltage between said terminals, and an ammeter connected in series with said cell to measure charging or discharging current of said cell, wherein said battery management system connects to said voltmeter and to said ammeter.
 27. A method comprising automatically estimating capacitance of a cell of a battery, wherein automatically estimating said capacitance of said cell comprises, at a first time, acquiring a measured value of current associated with said cell, said current being one of a charging current and a discharging current, and, at a second time, using a Kalman filter to estimate a capacitance of said cell at said second time, wherein using said Kalman filter to estimate said capacitance comprises using a state model, predicting said capacitance of said cell at said second time, wherein said state model relates a capacitance of said cell at a particular time to a capacitance of said cell at a preceding time, acquiring, at said second time, a measurable physical quantity, wherein said measurable physical quantity equals a summation of one or more currents, each of said one or more currents corresponding to one or more indices of summation, wherein said indices of summation extend from a lowest index to a highest index, wherein each index is greater than that which precedes it, wherein said lowest index is at least one less than a closest index, wherein said highest index is one less than said closest index, wherein said closest index is that index that corresponds to a time that is closest to said second time, wherein, when said highest index and said lowest index are unequal, said summation of currents is equal to a sum of said currents identified by said indices of summation, and wherein, when said highest index and said lowest index are equal, said summation of currents is equal to a current at a time corresponding to said highest index, using an observation model, calculating a prediction of said measurable physical quantity, and correcting said prediction of said capacitance at said second time as a function of a difference between said measurable physical quantity and said prediction of said measurable physical quantity as calculated from said observation model, automatically learning a function that accepts first and second arguments and that, in response, returns a capacitance at a particular time, said first argument being a capacitance at a preceding time and said second argument being a physical characteristic whose value is correlated with changes in said capacitance, said physical characteristic being measured at said particular time, wherein automatically learning said function comprises executing a supervised learning algorithm on a learning database, wherein, for each value of capacitance, said learning database includes a value of said physical characteristic measured concurrently with said capacitance and a value of a preceding capacitance, after having learned said function, while using said Kalman filter to estimate capacitance at a third time that is later than said second time, calculating a prediction of said capacitance at said third time using a state model that outputs a value of said capacitance at said third time by providing, to said learned function, first and second arguments, said first argument being said capacitance at said second time and said second argument being said physical characteristic measured at said third time.
 28. The method as claimed in claim 27, wherein the function is defined by a sum of a first term and a second term, wherein said first term is equal to said capacitance at said preceding time and said second term is a function of said physical characteristic measured at said particular time, said method further comprising carrying out a learning step for learning said second germ using data recorded in said learning database. 